clear all
use "./meatall.dta"

* udb: CIF value in ud (US Dollar) 
gen ud201 = exp(lnud201) 
gen ud202 = exp(lnud202) 
gen ud20610 = exp(lnud20610) 
gen ud20629 = exp(lnud20629)

* tariff levied
gen ud201t = ud201*(1 + tr201/100)
gen ud202t = ud202*(1 + tr202/100)
gen ud20610t = ud20610*(1 + tr20610/100) 
gen ud20629t = ud20629*(1 + tr20629/100)
gen trall = tr201 + tr202 + tr20610 + tr20629

* Bovine meat
egen udb = rowtotal(ud201 ud202 ud20610 ud20629)
egen udbt = rowtotal(ud201t ud202t ud20610t ud20629t)

gen jybt = udbt*xrjpy // jpy = usd*(jpy/usd) ****
gen lnxrjpy = ln(xrjpy)
gen lnudb = ln(udb) // Log CIF value in USD for Bovine 
gen lnjybt = ln(jybt) // Log expenditure incl tariff in JPY for Bovine  ****
gen jyb = udb*xrjpy // for ED 
gen bt = jybt - jyb // for ED  
egen isbt = sum(bt), by(year) // for ED

* kgb: kg (quantity) 
gen kg201 = exp(lnkg201)
gen kg202 = exp(lnkg202)
gen kg20610 = exp(lnkg20610)
gen kg20629 = exp(lnkg20629)
* Bovine meat
egen kgb = rowtotal(kg201 kg202 kg20610 kg20629)
gen lnkgb = ln(kgb)

* Share Bovine in JPY each year
egen isjybt = sum(jybt), by(year) // item sum
gen lnisjybt = ln(isjybt)
gen trateb = isbt/isjybt // for ED TRATE
egen isudb = sum(udb), by(year) // no tariff no jpy
gen lnisudb = ln(isudb) //no tariff no jpy

* generate country-wise value (JPY) shares
gen lnshb = lnjybt - lnisjybt // ln_share
gen lnshb0 = lnudb - lnisudb // 
gen shb = exp(lnshb)
gen shb0 = exp(lnshb0)
gen dra = abs(shb - shb0)/shb0

* generate uv (unit value)
gen lnuvb = lnjybt - lnkgb // ln_price  ****
gen lnuvb0 = ln(jyb) - lnkgb // for ED
 
* FOR ED simulation
gen pitxitb = exp(lnuvb)*kgb
egen qyb = sum(pitxitb), by(year)
gen lnqyb = ln(qyb)

*tabulate year, generate(d) // create year dummy vars
gen d095=1 if year==1995
replace d095=0 if d095==.
gen d096=1 if year==1996
replace d096=0 if d096==.
gen d097=1 if year==1997
replace d097=0 if d097==.
gen d098=1 if year==1998
replace d098=0 if d098==.
gen d099=1 if year==1999
replace d099=0 if d099==.
gen d100=1 if year==2000
replace d100=0 if d100==.
gen d101=1 if year==2001
replace d101=0 if d101==.
gen d102=1 if year==2002
replace d102=0 if d102==.
gen d103=1 if year==2003
replace d103=0 if d103==.
gen d104=1 if year==2004
replace d104=0 if d104==.
gen d105=1 if year==2005
replace d105=0 if d105==.
gen d106=1 if year==2006
replace d106=0 if d106==.
gen d107=1 if year==2007
replace d107=0 if d107==.
gen d108=1 if year==2008
replace d108=0 if d108==.
gen d109=1 if year==2009
replace d109=0 if d109==.
gen d110=1 if year==2010
replace d110=0 if d110==.
gen d111=1 if year==2011
replace d111=0 if d111==.
gen d112=1 if year==2012
replace d112=0 if d112==.
gen d113=1 if year==2013
replace d113=0 if d113==.
gen d114=1 if year==2014
replace d114=0 if d114==.
gen d115=1 if year==2015
replace d115=0 if d115==.
gen d116=1 if year==2016
replace d116=0 if d116==.
gen d117=1 if year==2017
replace d117=0 if d117==.
gen d118=1 if year==2018
replace d118=0 if d118==.
gen d119=1 if year==2019
replace d119=0 if d119==.

xtset c_code year

gen lnxrall = ln(xrall)
gen lnxr = lnxrjpy - lnxrall


*** ESTIMATION ***
xtivreg2 lnshb d095-d118 (lnuvb = trall tr20629), fe endog(lnuvb) //
xtreg lnshb d095-d118 lnuvb, fe
nlcom 1-_b[lnuvb]
nlcom (F2018:exp(-((0)^2+_b[d118])/_b[lnuvb]))(F2017:exp(-((0)+_b[d117])/_b[lnuvb]))(F2016:exp(-((0)+_b[d116])/_b[lnuvb]))(F2015:exp(-((0)+_b[d115])/_b[lnuvb]))(F2014:exp(-((0)+_b[d114])/_b[lnuvb]))(F2013:exp(-((0)+_b[d113])/_b[lnuvb]))(F2012:exp(-((0)+_b[d112])/_b[lnuvb]))(F2011:exp(-((0)+_b[d111])/_b[lnuvb]))(F2010:exp(-((0)+_b[d110])/_b[lnuvb]))(F2009:exp(-((0)+_b[d109])/_b[lnuvb]))(F2008:exp(-((0)+_b[d108])/_b[lnuvb]))(F2007:exp(-((0)+_b[d107])/_b[lnuvb]))(F2006:exp(-((0)+_b[d106])/_b[lnuvb]))(F2005:exp(-((0)+_b[d105])/_b[lnuvb]))(F2004:exp(-((0)+_b[d104])/_b[lnuvb]))(F2003:exp(-((0)+_b[d103])/_b[lnuvb]))(F2002:exp(-((0)+_b[d102])/_b[lnuvb]))(F2001:exp(-((0)+_b[d101])/_b[lnuvb]))(F2000:exp(-((0)+_b[d100])/_b[lnuvb]))(F1999:exp(-((0)+_b[d099])/_b[lnuvb]))(F1998:exp(-((0)+_b[d098])/_b[lnuvb]))(F1997:exp(-((0)+_b[d097])/_b[lnuvb]))(F1996:exp(-((0)+_b[d096])/_b[lnuvb]))(F1995:exp(-((0)+_b[d095])/_b[lnuvb]))(F1994:exp(-((0))/_b[lnuvb]))

* Feenstra Implicit *****************************************
gen delta1 = lnuvb - lnshb*(.0303753)
xtivreg2 lnshb d095-d118 (lnuvb = delta1), fe endog(lnuvb)
*************************************************************
